Explicit Metaclasses as a Tool for Improving the Design of Class Libraries
نویسندگان
چکیده
Existing OO methodologies focus on instance behaviors and reduce the role of a class to object creation. In fact, these methodologies do not address the issue of class design itself. Nevertheless, classes have their own properties, which are not related to the semantics of their instances. Examples of such properties are wellknown and language independent : concrete vs abstract classes, single instance vs multiple instances, single superclass vs multiple superclasses: : : Some other examples are less known and more language dependent: named vs indexed instance variables, persistent vs non persistent, local vs remote: : : This paper introduces a set of class properties in the context of Classtalk, a metaobject protocol for Smalltalk. It explicitly expresses these properties at the level of metaclasses, and gives a rst taxonomy so as to better understand them. Then, it takes advantage of these explicit metaclasses to re-engineer some well-known Smalltalk class hierarchies. Such re-engineered examples give us the opportunity to raise the problem of metaclasses composition. They justify the use of explicit metaclasses to improve the design of class libraries.
منابع مشابه
Browsing in Explicit Metaclass Languages : An Essay in Reflective Programming Environments
The development of adapted programming environments is mandatory in order to deliver reflective languages to real world users. It is generally assumed that reflection aids in the development of programming environments. However, its use may also give rise to certain difficulties. For example, it prevents programming tools from making strong assumptions about language structure and semantic. Our...
متن کاملProgramming with ObjVlisp Metaclasses in Smalltalk-80
A b s t r a c t This paper discusses the introduction of explicit metaclasses à la ObjVlisp into the Smalltalk-80 language. The rigidity of Smalltalk metaclass architecture motivated this work. Consequently we decided to implement the ObjVlisp model into the standard Smalltalk-80 system. The resulting combination defines the Classtalk platform. This platform provides a full-size environment to ...
متن کاملUniform and safe metaclass composition
In pure object-oriented languages, classes are objects, instances of other classes called metaclasses. In the same way as classes define the properties of their instances, metaclasses define the properties of classes. It is therefore very natural to wish to reuse class properties, utilizing them amongst several classes. However this introduced metaclass composition problems, i.e., code fragment...
متن کاملLearning Pragmatics through Computer-Mediated Communication in Taiwan
This study investigated the effectiveness of explicit pragmatic instruction on the acquisition of requests by college-level English as Foreign Language (EFL) learners in Taiwan. The goal was to determine first whether the use of explicit pragmatic instruction had a positive effect on EFL learners’ pragmatic competence. Second, the relative effectiveness of presenting pragmatics through two deli...
متن کاملSafe metaclass composition using mixin-based inheritance
In the context of meta-programming and reflective languages, classes are treated as full fledged objects which are instances of other classes named metaclasses. Metaclasses have proved to be useful for defining new class properties. Examples of such properties are lazy memory allocation, multiple inheritance, having a single instance. . . A class with some property is obtained by instantiating ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996